home *** CD-ROM | disk | FTP | other *** search
/ User's Choice Windows CD / User's Choice Windows CD (CMS Software)(1993).iso / win_m_p / pcwo131.zip / PCW.H < prev    next >
C/C++ Source or Header  |  1989-04-07  |  8KB  |  340 lines

  1. /************************************************************************
  2.  *        pcw.h    -    File di definizioni per PcWindow    *
  3.  *                da includere in tutti i programmi    *
  4.  *                                    *
  5.  *  (c) 1987,1988,1989     by Pasquale Cantiello                *
  6.  *                                    *
  7.  *                                    *
  8.  *  Versione  1.31       del         7 - Aprile - 1989            *
  9.  *                                    *
  10.  ************************************************************************/
  11.  
  12.  
  13.  
  14.  
  15. /* Dichiarazioni di tipo    */
  16.  
  17. typedef unsigned char BOOLEAN;
  18. typedef char          ATTR;
  19.  
  20.  
  21.  
  22. #ifndef FALSE
  23.     #define FALSE   0
  24.     #define TRUE    1
  25. #endif
  26.  
  27. #define NULLATT (ATTR)0
  28.  
  29.  
  30.  
  31. /* Versione programma  */
  32.  
  33. #define __PCW__ 131
  34.  
  35.  
  36. /* Valori di ritorno */
  37.  
  38. #define OK 0
  39. #define ILLPAR -1
  40. #define NOTDEF -2
  41. #define WINOPN -3
  42. #define ALRDEF -4
  43. #define NOWIND -5
  44. #define OUTMEM -6
  45.  
  46.  
  47.  
  48. /* Tipi di bordo */
  49.  
  50.  
  51. #define LT_SINGLE (unsigned int)0
  52. #define LT_DOUBLE (unsigned int)1
  53. #define NO_BORDER (unsigned int)2
  54.  
  55.  
  56. /* Effetti */
  57.  
  58.  
  59. #define ISTANT      (unsigned int)0
  60. #define FADE      (unsigned int)1
  61. #define FADEUP      (unsigned int)2
  62. #define FADEDOWN  (unsigned int)3
  63. #define FADELEFT  (unsigned int)4
  64. #define FADERIGHT (unsigned int)5
  65. #define FADEHORIZ (unsigned int)6
  66. #define FADEVERT  (unsigned int)7
  67.  
  68.  
  69.  
  70. /* Direzioni */
  71.  
  72.  
  73. #define UP     (unsigned int)0
  74. #define DOWN   (unsigned int)1
  75. #define LEFT   (unsigned int)2
  76. #define RIGHT  (unsigned int)3
  77. #define HORIZ  (unsigned int)4
  78. #define VERT   (unsigned int)5
  79. #define BOTH   (unsigned int)6
  80.  
  81.  
  82.  
  83. /* Operazioni */
  84.  
  85. #define ENLARGE  (unsigned int)0
  86. #define RESTRICT (unsigned int)1
  87.  
  88.  
  89.  
  90. /* Formattazione */
  91.  
  92. #define ALIGN_CENTER      (unsigned int)100
  93. #define ALIGN_CENTER_VIEW (unsigned int)101
  94. #define ALIGN_BEGIN      (unsigned int)102
  95. #define ALIGN_BEGIN_VIEW  (unsigned int)103
  96. #define ALIGN_END      (unsigned int)104
  97. #define ALIGN_END_VIEW      (unsigned int)105
  98.  
  99.  
  100.  
  101. /* Velocita'  */
  102.  
  103. #define VERYFAST (unsigned int)0
  104. #define FAST     (unsigned int)1
  105. #define SLOW     (unsigned int)2
  106. #define NOSYNC     (unsigned int)9
  107.  
  108.  
  109.  
  110. /* Tipi di input */
  111.  
  112. #define IT_ALFANUM  (unsigned int)0
  113. #define IT_ALFAB    (unsigned int)1
  114. #define IT_ALFABUPP (unsigned int)2
  115. #define IT_INTEGER  (unsigned int)3
  116. #define IT_DATE     (unsigned int)4
  117. #define IT_LOGICAL  (unsigned int)5
  118. #define IT_ALFANUPP (unsigned int)6
  119. #define IT_REAL     (unsigned int)7
  120. #define IT_HOUR     (unsigned int)8
  121. #define IT_HEX        (unsigned int)9
  122. #define IT_FIXED1   (unsigned int)11
  123. #define IT_FIXED2   (unsigned int)12
  124. #define IT_FIXED3   (unsigned int)13
  125. #define IT_CODE     (unsigned int)19
  126.  
  127.  
  128.  
  129. /* Caratteri per il riempimento del campo di input */
  130.  
  131. #define BLANK      (char)32
  132. #define POINT      (char)46
  133. #define UNDERLINE (char)95
  134. #define STAR      (char)42
  135. #define DIAMOND   (char)4
  136. #define BLOCK      (char)254
  137.  
  138.  
  139. /* Modi per il flag di input */
  140.  
  141. #define INP (unsigned int)0
  142. #define VIS (unsigned int)1
  143.  
  144.  
  145. /* Modalita' di esecuzione dell'input */
  146.  
  147. #define NORMAL (unsigned int)0
  148. #define FKEYS  (unsigned int)1
  149. #define ALL    (unsigned int)2
  150. #define CURS   (unsigned int)3
  151.  
  152.  
  153. /* Valori di status per la funzione input */
  154.  
  155. #define IN_RET          0
  156. #define IN_CRU        -10
  157. #define IN_CRD        -11
  158. #define IN_CPU        -12
  159. #define IN_CPD        -13
  160. #define IN_ESC        -14
  161. #define IN_CCPU     -15
  162. #define IN_CCPD     -16
  163. #define IN_TAB        -17
  164. #define IN_SHTAB    -18
  165. #define IN_FKEY       0
  166. #define IN_SHFKEY    10
  167. #define IN_CTRLFKEY  20
  168. #define IN_ALTFKEY   30
  169.  
  170.  
  171. /* attributi video */
  172.  
  173. #define BLACK    0
  174. #define BLUE    1
  175. #define GREEN    2
  176. #define CYAN    3
  177. #define RED    4
  178. #define MAGENTA 5
  179. #define YELLOW    6
  180. #define WHITE    7
  181.  
  182. #define NORMAL    (unsigned int)0
  183. #define HILIGHT (unsigned int)1
  184.  
  185. #define STEADY    0
  186. #define BLINK    1
  187.  
  188.  
  189. /* Tipi di CPU      */
  190.  
  191. #define CPU_UNKNOWN 0x000
  192. #define CPU_8088    0x088
  193. #define CPU_8086    0x086
  194. #define CPU_V20     0x020
  195. #define CPU_V30     0x030
  196. #define CPU_80188   0x188
  197. #define CPU_80186   0x186
  198. #define CPU_80286   0x286
  199. #define CPU_80386   0x386
  200.  
  201.  
  202. /* Tipi di scheda video */
  203.  
  204.  
  205. #define VIDEO_UNKNOWN 0
  206. #define VIDEO_MONO    1
  207. #define VIDEO_HERC    2
  208. #define VIDEO_CGA     3
  209. #define VIDEO_EGA     4
  210. #define VIDEO_MCGA    5
  211. #define VIDEO_VGA     6
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.                     /* prepara l'attributo */
  219. #define attrib(FO,HI,BA,BL) (ATTR)((FO)+(HI)*8+(BA)*16+(BL)*128)
  220.  
  221.                     /* Reverse attributo */
  222. #define reverse(att) (ATTR)((((att)>>4)&7)+((att)&8)+((att)&7)*16+((att)&128))
  223.  
  224.  
  225.  
  226. /* Definizioni per il PCM   */
  227.  
  228. /* Tipi di menu */
  229.  
  230. #define SIMPLE    (unsigned int)0
  231. #define ONELINE (unsigned int)1
  232. #define BORDER    (unsigned int)2
  233.  
  234. #define NOCHAR    (char)0
  235.  
  236.  
  237.  
  238. /* definizioni per flag */
  239.  
  240. #define OFF (unsigned int)0
  241. #define ON  (unsigned int)1
  242.  
  243.  
  244.  
  245. #define Pcw_beep() Pcw_tone(1200, 120)
  246.  
  247.  
  248. /* Prototipi delle funzioni per il type checking */
  249.  
  250.  
  251. int Pcw_init(unsigned int, unsigned int, unsigned int);
  252. int Pcw_define(unsigned int, unsigned int, unsigned int, unsigned int, ATTR,
  253.     ATTR, ATTR, unsigned int, unsigned int, char *);
  254. int Pcw_undef(unsigned int);
  255. int Pcw_open(unsigned int, unsigned int);
  256. int Pcw_open_pos(unsigned int, unsigned int, unsigned int, unsigned int);
  257. int Pcw_printat(unsigned int, unsigned int, unsigned int, char, ATTR,
  258.     unsigned int);
  259. int Pcw_sprintat(unsigned int, unsigned int, unsigned int, char *, ATTR);
  260. int Pcw_cls(unsigned int, ATTR);
  261. void Pcw_clear_screen(ATTR);
  262. int Pcw_close(unsigned int);
  263. int Pcw_move_abs(unsigned int, unsigned int, unsigned int);
  264. int Pcw_move_rel(unsigned int, unsigned int, unsigned int);
  265. int Pcw_scroll(unsigned int, unsigned int, unsigned int, unsigned int);
  266. int Pcw_set_view(unsigned int, unsigned int, unsigned int);
  267. int Pcw_size(unsigned int, unsigned int, unsigned int, unsigned int,
  268.     unsigned int);
  269. int Pcw_how_many_windows(void);
  270. int Pcw_which_window(void);
  271. int Pcw_version(void);
  272. int Pcw_copyright(unsigned int);
  273. int Pcw_set_speed(unsigned int);
  274. void Pcw_no_flick(void);
  275. int Pcw_cursor(unsigned int);
  276. int Pcw_cursor_type(unsigned int);
  277. int Pcw_pos(unsigned int);
  278. int Pcw_dim(unsigned int);
  279. int Pcm_init(unsigned int);
  280. int Pcm_define(unsigned int, unsigned int, unsigned int, unsigned int,
  281.     unsigned int, ATTR, ATTR, ATTR, ATTR, ATTR, ATTR, char * *, unsigned int,
  282.     unsigned int, unsigned int, BOOLEAN);
  283. int Pcm_open(unsigned int);
  284. int Pcm_enter_menu(char, unsigned int);
  285. int Pcm_close(void);
  286. int Pcw_set_input_mode(char, ATTR, ATTR, unsigned int);
  287. int Pcw_set_input_flag(unsigned int);
  288. int Pcw_input(unsigned int, unsigned int, unsigned int, unsigned int, char *,
  289.     char *);
  290. int Pcw_first_free(void);
  291. int Pcw_is_open(unsigned int);
  292. int Pcw_set_option(char *);
  293. int Pcw_cpu_type(void);
  294. int Pcw_write_25(char *, ATTR);
  295. void Pcw_clear_25(void);
  296. int Pcw_tone(unsigned int, unsigned int);
  297. int Pcw_video_card(void);
  298. BOOLEAN Pcw_is_color(void);
  299. int Pcm_ext_desc(unsigned int, ATTR, char **);
  300. int Pcm_enable(unsigned int);
  301. int Pcm_disable(unsigned int);
  302. int Pcw_make_current(unsigned int);
  303. char *Pcw_get_date(char *);
  304. char *Pcw_get_time(char *);
  305. int Pcw_select(unsigned int, unsigned int, unsigned int, unsigned int,
  306.     unsigned int, char **, unsigned int, ATTR, ATTR, ATTR, unsigned int);
  307. int Pcw_ext_sel(unsigned int, unsigned int, unsigned int, unsigned int,
  308.     unsigned int, ATTR, ATTR, ATTR, unsigned int, char *, BOOLEAN (*)(char *),
  309.     BOOLEAN (*)(char *));
  310. int Pcw_toggle(unsigned int, unsigned int, BOOLEAN *, char, ATTR, char, ATTR);
  311.  
  312.  
  313.  
  314. /*
  315.  * Definizioni in uso nelle versioni precedenti: Vanno abilitate compilando
  316.  *           con  /DOLD_PCW
  317.  */
  318.  
  319.  
  320. #if defined(OLD_PCW)
  321.  
  322. #define ALFANUM  IT_ALFANUM
  323. #define ALFAB     IT_ALFAB
  324. #define ALFABUPP IT_ALFABUPP
  325. #define INTEGER  IT_INTEGER
  326. #define DATA     IT_DATE
  327. #define LOGICAL  IT_LOGICAL
  328. #define ALFANUPP IT_ALFANUPP
  329. #define REAL     IT_REAL
  330. #define HOUR     IT_HOUR
  331. #define HEX     IT_HEX
  332. #define FIXED1     IT_FIXED1
  333. #define FIXED2     IT_FIXED2
  334. #define FIXED3     IT_FIXED3
  335. #define CODE     IT_CODE
  336. #define FIX   STEADY
  337. #define LIGHT HILIGHT
  338.  
  339. #endif
  340.